package com.rskj.cashbook.service;

import com.rskj.cashbook.vo.DictData;

import java.util.List;

/**
 * 字典数据服务接口
 * @author fudaopin
 */
public interface IDictDataService {
    
    /**
     * 根据ID获取字典数据
     */
    DictData getById(String id);
    
    /**
     * 根据类型ID获取字典数据
     */
    List<DictData> getByTypeId(String typeId);
    
    /**
     * 根据类型编码获取字典数据
     */
    List<DictData> getByTypeCode(String typeCode);
    
    /**
     * 根据类型ID获取启用的字典数据
     */
    List<DictData> getEnabledByTypeId(String typeId);
    
    /**
     * 根据类型编码获取启用的字典数据
     */
    List<DictData> getEnabledByTypeCode(String typeCode);
    
    /**
     * 根据编码获取字典数据
     */
    DictData getByCode(String code);
    
    /**
     * 根据值获取字典数据
     */
    DictData getByValue(String value);
    
    /**
     * 保存字典数据
     */
    int save(DictData dictData);
    
    /**
     * 更新字典数据
     */
    int update(DictData dictData);
    
    /**
     * 删除字典数据
     */
    int delete(String id);
    
    /**
     * 根据类型ID删除字典数据
     */
    int deleteByTypeId(String typeId);
    
    /**
     * 检查编码是否存在
     */
    boolean isCodeExists(String code);
    
    /**
     * 根据类型ID检查编码是否存在
     */
    boolean isCodeExistsByTypeId(String typeId, String code);
}
